'use strict';
const db = uniCloud.database();
const dbCmd = db.command
function dateFormat(fmt, date) {
	let ret
	const opt = {
		"Y+": date.getFullYear().toString(), // 年
		"m+": (date.getMonth() + 1).toString(), // 月
		"d+": date.getDate().toString(), // 日
		"H+": date.getHours().toString(), // 时
		"M+": date.getMinutes().toString(), // 分
		"S+": date.getSeconds().toString(), // 秒
	}
	for (let k in opt) {
		ret = new RegExp("(" + k + ")").exec(fmt)
		if (ret) {
			fmt = fmt.replace(
				ret[1],
				ret[1].length === 1 ? opt[k] : opt[k].padStart(ret[1].length, "0")
			)
		}
	}
	return fmt 
}

module.exports = {
	/**
	 * 此函数名称
	 * @url client/order/kh/test 前端调用的url参数地址
	 * data 请求参数
	 * @params {String} params1  参数1
	 */
	main: async (event) => {
		let { data = {}, userInfo, util, originalParam } = event;
		let { customUtil, config, pubFun, vk, db, _ } = util;
		let { uid } = data;
		let res = { code : 0, msg : '' };
		// 业务逻辑开始-----------------------------------------------------------
		// 可写与数据库的交互逻辑等等
		
		var user_id = data.user_id
		const z_data = new Date(new Date().toLocaleDateString()).getTime() - 1
		// var z_data =  _z_data.setDate(_z_data.getDate() - 1);
		// 获取昨日收益列表
		let dataModel1 = await db.collection("wx_user_earnings").where({
			user_id:user_id,
			status:1,
			no_usable:dbCmd.neq(true),
			time:dbCmd.lte(z_data) 
		}).get()
		// 查询用户列表
		let userList = await db.collection('uni-id-users').where({
			openid:user_id
		}).get()
		
		
		console.log(userList,'1111111111111111111111')
		
		if(userList.data.length == 0){
			return {
				code: 20102,
				msg: '没有用户',
			}
		}
		// 昨日金额
		var yesterday_money_num = 0
		
		
		// 昨日计算金额
		dataModel1.data.forEach(item=>{
			if(!item.no_usable){
				yesterday_money_num  += Number(item.sum)
			}
		})
		let userData = userList.data[0]
		let moneyAll = Number(userData.money)
		if(moneyAll){
			moneyAll += yesterday_money_num
		}else{
			moneyAll = yesterday_money_num
		}
		await db.collection('wx_user_earnings').where({
			user_id:user_id,
			status:1,
			no_usable:dbCmd.neq(true),
			time:dbCmd.lte(z_data) 
		}).update({
			no_usable:	true
		})
		// 更新用户数据
		let result = await db.collection('uni-id-users').where({
			openid:user_id
		}).update({
			money:	moneyAll.toFixed(2)
		})
		if(result.updated === 0){
			return {
				code: 20102,
				msg: '更新失败',
			}
		}
		return {
			code: 0,
			msg: '操作成功'
		}
		


		// 业务逻辑结束-----------------------------------------------------------
		return res;
	}
}
